<?

// edit_user.php

session_start();

require( 'config_take.php' );
require( 'include_take.php' ); //入力項目チェックのための関数など

$title = '個人情報編集';

// ログイン済みかどうか確認
if (!auth()) {
  header( 'Location: login.php' );
  exit;
}
// 一時間以上ログインしてる場合はセッションを更新 3600
if ($_SESSION['last_login'] < time() - 3600) {
    $m = 2;
    header("Location: logout.php?warning=$m");
    exit;
}
// 接続
$link = mysql_connect( $db_host, $db_user, $db_password );
   if (!$link) {
      die('DB not found : ' . mysql_error());
   }
mysql_select_db( $db_name );
mysql_query( 'set NAMES utf8' );

$sql = "SELECT * FROM members WHERE loginID = '" . mysql_real_escape_string($_SESSION['loginid']) . "'";

$result = mysql_query($sql);
$user = mysql_fetch_array($result);
// 自己紹介文内の改行を元に戻す
$profile = $user['profile'];
$kaigyo = array("\\r\\n", "\\r", "\\n");
$profile = str_replace($kaigyo, "\r\n", $profile);

mysql_free_result($result);

//
if ($_POST['action'] == 'edit') {
    $k = array('lg'=>'ログインＩＤ','p'=>'パスワード','n'=>'姓名（漢字）','k'=>'姓名（カナ）','nk'=>'ニックネーム','z'=>'郵便番号','ad'=>'住所','t'=>'電話番号','em'=>'電子メールアドレス');
    $body = '';

// 入力項目の確認 引数３番目は 数字,ascii,半角英数字,のためのフラグ

    if ( strlen($_POST['passwd']) <6 && strlen($_POST['passwd']) >0 ) $body .= $k['p'].'が短すぎます<br>';
    if ( strlen($_POST['passwd']) >32 ) $body .= $k['p'].'が32文字以上です<br>';
$strings = "[^0-9A-Za-z_]";
    if ( preg_match("/$strings/", $_POST['passwd']) ) $body .= $k['p'].'に使用できない文字が含まれています<br>';

    if ( $_POST['name_kanji'] == '' ) $body .= $k['n'].'が入力されていません<br>';
    if ( strlen( $_POST['name_kanji'] ) > 32 ) $body .= $k['n'].'が32文字以上です<br>';

    if ( $_POST['name_kana'] == '' ) $body .= $k['k'].'が入力されていません<br>';
    if ( strlen( $_POST['name_kana'] ) > 32 ) $body .= $k['k'].'が32文字以上です<br>';

    if ( $_POST['nickname'] == '' ) $body .= $k['nk'].'が入力されていません<br>';
    if ( strlen( $_POST['nickname'] ) > 16 ) $body .= $k['nk'].'が16文字以上です<br>';

    if ( ($error = sinki_check($_POST['zip'], 16, 0)) != "") $body .= $k['z'] . ": " . $error . "<br />";

    if ( $_POST['address'] == '' ) $body .= $k['ad'].'が入力されていません<br>';

    if ( ($error = sinki_check($_POST['tel'], 32, 0)) != "") $body .= $k['t'] . ": " . $error . "<br />";

    if ( ($error = sinki_check($_POST['email'], 64, 1)) != "") $body .= $k['em'] . ": " . $error . "<br />";


    if ( intval($_POST['gender'])>2 || intval($_POST['gender'])<1 ) $body .= "不正な入力です<br />"; 


// エラー画面
if ( $body != '' ) {
	$title = $site_name . ' 編集エラー';
?>
	<? require( 'header.php' ) ?>
	
	<div align="center">
	<h1><?= $site_name ?> 編集エラー</h1>
	<?= $body ?>
	<br>
	ブラウザのバックボタンで戻り、入力を確認してください。<br>
	<br>
	<? require( 'footer.php' ) ?>
<?
	exit;
	}
else {
// データベースを更新する
   $passwd = $user['password'];
   if( $_POST['passwd'] != '' ){
	$passwd = md5( $_POST['passwd'] );
   }
   $sql = "UPDATE members SET 
name = '" . mysql_real_escape_string( $_POST['name_kanji'] ) . "',
kana = '" . mysql_real_escape_string( $_POST['name_kana'] ) . "',
nickname = '" . mysql_real_escape_string( $_POST['nickname'] ) . "',
gender = '" . mysql_real_escape_string( $_POST['gender'] ) . "',
email = '" . mysql_real_escape_string( $_POST['email'] ) . "',
zip = '" . mysql_real_escape_string( $_POST['zip'] ) . "',
address = '" . mysql_real_escape_string( $_POST['address'] ) . "',
password = '" . $passwd . "',
tel = '" . mysql_real_escape_string( $_POST['tel'] ) . "',
profile = '" . mysql_real_escape_string( $_POST['profile'] ) . "'
 WHERE loginID = '" . mysql_real_escape_string( $_SESSION['loginid'] ) . "'";

    $result = mysql_query( $sql );
    if($result) {
       $body = "変更しました<br>";
    }
    $link = mysql_close($link);
?>
<? require('header.php') ?>
   
   <div align="center">
   <h1><?= $site_name ?> 編集完了</h1>
   <?= $body ?>
   <br>
   <? require( 'footer.php' ) ?>
<?
    exit;
    } // body　がNULLなら
  }  // if(actionがeditなら) 
?>

<? require( 'header.php' ) ?>

<div align="center">
<h1><?= $site_name ?>会員専用・編集ページです</h1>

ログインID <?= $_SESSION['loginid']?> は変更できません<br />
パスワードは新たな入力が無いならば変更されません。<br />
<br />
<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="edit">
<div><span class="required">*</span>印のついた項目は入力必須です</div>
<br />
<table>

<tr>
	<td>パスワード<span class="required">*</span></td>
	<td><input type="password" name="passwd" size=16 maxlength=32>
	&nbsp;&nbsp;<small><span class="note">半角英数記号6文字以上32文字まで（例 hanako.1192）</span></small></td>
</tr>
<tr>
	<td>姓名（漢字）<span class="required">*</span></td>
	<td><input type="text" name="name_kanji" size=48 maxlength=32 value="<?= htmlspecialchars($user['name'], ENT_QUOTES) ?>">
	&nbsp;&nbsp;<small><span class="note">半角32文字まで（例 夏目　漱石）</span></small></td>
</tr>
<tr>
	<td>姓名（カナ）<span class="required">*</span></td>
	<td><input type="text" name="name_kana" size=48 maxlength=32 value="<?= htmlspecialchars($user['kana'],  ENT_QUOTES) ?>">
	&nbsp;&nbsp;<small><span class="note">半角32文字まで（例 ナツメ　ソウセキ）</span></small></td>
</tr>
<tr>
	<td>ニックネーム<span class="required">*</span></td>
	<td><input type="text" name="nickname" size=16 maxlength=16 value="<?= htmlspecialchars($user['nickname'],  ENT_QUOTES) ?>">
	&nbsp;&nbsp;<small><span class="note">半角16文字まで（例 なっち）</span></small></td>
</tr>
<tr>
	<td>性別</td>
	<td>
		<input type="radio" name="gender" value=1 
<? if($user['gender']==1) echo "checked"; ?>>男性
		<input type="radio" name="gender" value=2 
<? if($user['gender']==2) echo "checked"; ?>>女性
	</td>
</tr>
<tr>
	<td>郵便番号<span class="required">*</span></td>
	<td>
		<input type="text" name="zip" size=10 maxlength=8 value="<?= $user['zip'] ?>">
		&nbsp;&nbsp;<small><span class="note">半角数字 ハイフォンで区切る（例 100-0000）</span></small></td>
</tr>
<tr>
	<td>住所<span class="required">*</span></td>
	<td><input type="text" name="address" size=64 maxlength=128 value="<?= htmlspecialchars($user['address'],  ENT_QUOTES) ?>"></td>
</tr>
<tr>
	<td></td>
	<td><small><span class="note">半角128文字まで（例 京都市下京区東塩小路町８４３－１２）</span></small></td>
</tr>
<tr>
	<td>電話番号<span class="required">*</span></td>
	<td>
		<input type="text" name="tel" size=24 maxlength=32 value="<?= $user['tel'] ?>">
		&nbsp;&nbsp;<small><span class="note">半角数字32文字まで（例 075-400-0000）</span></small></td>
</tr>
<tr>
	<td>電子メールアドレス<span class="required">*</span></td>
	<td>
		<input type="text" name="email" size=50 maxlength=64 value="<?= htmlspecialchars($user['email'],  ENT_QUOTES) ?>">
		&nbsp;&nbsp;<small><span class="note">半角数字64文字まで（例 hogehoge@email.）</span></small></td>
</tr>
<tr>
	<td>&nbsp;</td>
<tr>
<tr>
	<td>プロフィール</td>
	<td>
		<textarea name="profile" rows="4" cols="40"><?= $profile ?></textarea>
	</td>
</tr>
<tr>
	<td>&nbsp;</td>
	<td><small><span class="note">自己紹介、アピール文を自由に記入してください</span></small></td>
</tr>
<tr>
	<td>&nbsp;</td>
</tr>
<tr>
	<td></td>
	<td><input type="submit" value="- 確認する -"></td>
</tr>

</table>
</form>
</div>
<? require( 'footer.php' ) ?>
